package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.domain.vo.SaleTypeDto;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 用户信息对象 sys_consumer
 * 
 * @author zjf
 * @date 2025-11-10
 */
public class SysConsumer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户类型id（供应商，采购商，C用户） */
    private Long consumerId;

    /** 认证状态 */
    @Excel(name = "认证状态")
    private String certifiedStatus;

    /** 使用状态 */
    @Excel(name = "使用状态")
    private String usageStatus;

    /** 机构id */
    @Excel(name = "机构id")
    private String orgId;

    /** 机构名称 */
    @Excel(name = "机构名称")
    private String orgName;

    /** 所在地区 */
    @Excel(name = "所在地区")
    private String location;

    /** 机构类型 */
    @Excel(name = "机构类型")
    private String orgType;

    /** 注册日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registerTime;

    /** 用户类型 */
    @Excel(name = "用户类型")
    private String userType;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 销售人姓名 */
    @Excel(name = "销售人姓名")
    private String saleName;

    /** 销售人手机号 */
    @Excel(name = "销售人手机号")
    private String salePhone;

    /** 销售方式 */
    @Excel(name = "销售方式")
    private String saleType;

    /** 入驻保证金 */
    @Excel(name = "入驻保证金")
    private BigDecimal settleDeposit;

    /** 法人姓名 */
    @Excel(name = "法人姓名")
    private String legalName;

    /** 法人手机号 */
    @Excel(name = "法人手机号")
    private String legalPhone;

    /** 采购人姓名 */
    @Excel(name = "采购人姓名")
    private String purchaserName;

    /** 采购人手机号 */
    @Excel(name = "采购人手机号")
    private String purchaserPhone;

    /** b模板id */
    @Excel(name = "b模板id")
    private Long bmodualId;

    /** b模板名称 */
    @Excel(name = "b模板名称")
    private String bmodualName;

    /** c模板id */
    @Excel(name = "c模板id")
    private Long cmodualId;

    /** c模板名称 */
    @Excel(name = "c模板名称")
    private String cmodualName;

    /**开始时间 */
    private String startDate;

    /**结束时间 */
    private String endDate;

    /**销售方式集合*/
    private List<SaleTypeDto> saleTypeList;


    public void setConsumerId(Long consumerId) 
    {
        this.consumerId = consumerId;
    }

    public Long getConsumerId() 
    {
        return consumerId;
    }

    public void setCertifiedStatus(String certifiedStatus) 
    {
        this.certifiedStatus = certifiedStatus;
    }

    public String getCertifiedStatus() 
    {
        return certifiedStatus;
    }

    public void setUsageStatus(String usageStatus) 
    {
        this.usageStatus = usageStatus;
    }

    public String getUsageStatus() 
    {
        return usageStatus;
    }

    public void setOrgId(String orgId) 
    {
        this.orgId = orgId;
    }

    public String getOrgId() 
    {
        return orgId;
    }

    public void setOrgName(String orgName) 
    {
        this.orgName = orgName;
    }

    public String getOrgName() 
    {
        return orgName;
    }

    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }

    public void setOrgType(String orgType) 
    {
        this.orgType = orgType;
    }

    public String getOrgType() 
    {
        return orgType;
    }

    public void setRegisterTime(Date registerTime) 
    {
        this.registerTime = registerTime;
    }

    public Date getRegisterTime() 
    {
        return registerTime;
    }

    public void setUserType(String userType) 
    {
        this.userType = userType;
    }

    public String getUserType() 
    {
        return userType;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setSaleName(String saleName) 
    {
        this.saleName = saleName;
    }

    public String getSaleName() 
    {
        return saleName;
    }

    public void setSalePhone(String salePhone) 
    {
        this.salePhone = salePhone;
    }

    public String getSalePhone() 
    {
        return salePhone;
    }

    public void setSaleType(String saleType) 
    {
        this.saleType = saleType;
    }

    public String getSaleType() 
    {
        return saleType;
    }

    public void setSettleDeposit(BigDecimal settleDeposit) 
    {
        this.settleDeposit = settleDeposit;
    }

    public BigDecimal getSettleDeposit() 
    {
        return settleDeposit;
    }

    public void setLegalName(String legalName) 
    {
        this.legalName = legalName;
    }

    public String getLegalName() 
    {
        return legalName;
    }

    public void setLegalPhone(String legalPhone) 
    {
        this.legalPhone = legalPhone;
    }

    public String getLegalPhone() 
    {
        return legalPhone;
    }

    public void setPurchaserName(String purchaserName) 
    {
        this.purchaserName = purchaserName;
    }

    public String getPurchaserName() 
    {
        return purchaserName;
    }

    public void setPurchaserPhone(String purchaserPhone) 
    {
        this.purchaserPhone = purchaserPhone;
    }

    public String getPurchaserPhone() 
    {
        return purchaserPhone;
    }

    public void setBmodualId(Long bmodualId) 
    {
        this.bmodualId = bmodualId;
    }

    public Long getBmodualId() 
    {
        return bmodualId;
    }

    public void setBmodualName(String bmodualName) 
    {
        this.bmodualName = bmodualName;
    }

    public String getBmodualName() 
    {
        return bmodualName;
    }

    public void setCmodualId(Long cmodualId) 
    {
        this.cmodualId = cmodualId;
    }

    public Long getCmodualId() 
    {
        return cmodualId;
    }

    public void setCmodualName(String cmodualName) 
    {
        this.cmodualName = cmodualName;
    }

    public String getCmodualName() 
    {
        return cmodualName;
    }


    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public List<SaleTypeDto> getSaleTypeList() {
        return saleTypeList;
    }

    public void setSaleTypeList(List<SaleTypeDto> saleTypeList) {
        this.saleTypeList = saleTypeList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("consumerId", getConsumerId())
            .append("certifiedStatus", getCertifiedStatus())
            .append("usageStatus", getUsageStatus())
            .append("orgId", getOrgId())
            .append("orgName", getOrgName())
            .append("location", getLocation())
            .append("orgType", getOrgType())
            .append("registerTime", getRegisterTime())
            .append("userType", getUserType())
            .append("address", getAddress())
            .append("saleName", getSaleName())
            .append("salePhone", getSalePhone())
            .append("saleType", getSaleType())
            .append("settleDeposit", getSettleDeposit())
            .append("legalName", getLegalName())
            .append("legalPhone", getLegalPhone())
            .append("purchaserName", getPurchaserName())
            .append("purchaserPhone", getPurchaserPhone())
            .append("bmodualId", getBmodualId())
            .append("bmodualName", getBmodualName())
            .append("cmodualId", getCmodualId())
            .append("cmodualName", getCmodualName())
            .toString();
    }
}
